package com.itheima.mySimpleDateFormat;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class 日期格式化两个核心方法_02 {
    public static void main(String[] args) throws ParseException {
        //1.先创建一个日期对象
        Date date = new Date();

        //需求: 将date对象格式化成"xxxx年xx月xx日  xx时xx分xx秒"
        //2.创建一个日期格式化对象
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日  HH时mm分ss秒");
        // 3.使用格式化对象调用format()方法,将日期对象转换为对应格式的日期字符串
        String dateStr = sdf.format(date);
        System.out.println("dateStr = " + dateStr);

        String birthStr = "2002-08-08";
        //需求: 将birthStr解析成对应的Date对象
        //注意:拿SimpleDateFormat来解析日期字符串时,必须保证日期格式化模板和日期字符串格式一致!
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
        //通过pare()方法将字符串解析成日期对象
        Date birthday = sdf1.parse(birthStr);
        System.out.println("birthday = " + birthday);
        //思考:设计一个程序,键盘录入生日,计算出自己来阳间多少天了,并打印结果
        /*
            请输入你的出生日期:
                2001-08-20
                您出生...
         */
        //1.键盘录入生日

        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你的出生日期,格式[1999-11-11]:");
        String birthdayStr = sc.next();

        //2.将录入的生日通过SimpleDateFormat解析成对应的日期Date对象
        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");
        Date birthday1 = sdf2.parse(birthdayStr);

        //获取当前系统时间对应的日期
        Date nowDate = new Date();

        //4. 拿当前日期 - 生日日期计算得出相差多少天
        long day = (nowDate.getTime() - birthday1.getTime()) /1000L /60 / 60 / 24;
        System.out.println("您出生"+day+"天了");
        System.out.println("您出生"+day / 365+"年了");
    }
}
